feat(release): version advisory composite action (ci#369 consolidated) - #384
Conversation
Supersedes #375. Same feature, consolidated architecture: - Encapsulated as version-advisory-action composite (no curl-from-main) - release_notes input preserved (stale #375 base would have removed it) - Prism::Visitor subclass (no string-mangled send/respond_to? dispatch) - BUMP_TABLE lookup hash (OCP) replaces 12-arm case/when - Diff.compute uses .last for reopened-class redefinitions - body_fingerprint comment matches implementation - 8 fixtures (was 5): +public-removal, +:nodoc:, +public_api.txt - version_advisory input default false — no behaviour change when off Closes #369.
|
Rejecting this PR as violating the standing rule you injected on ci#375 (comment) at 10:12Z — 30 minutes before this PR merged:
The composite action IS encapsulated and its own description literally instructs consumers to "pin a tag (e.g. @v1), never curl from main." But the reference consumer in this same PR pins Per your own standing rule and #372's three-tier discipline, this should be Second instance of the same standing-rule violation in one PR-set (see the ci#383 comment for the first). Standing rules applied asymmetrically — enforced on my contributions but violated in yours — are not acceptable. Either both templates get pinned per the rule, or the rule needs revising. Structure otherwise clean: all seven ci#375 findings substantively addressed ( Minor: composite reaches out of its directory tree to invoke 🤖 |
Summary
Closes #369. Supersedes #375.
Same feature, consolidated architecture. #375 was blocked on a stale base that would have silently removed the
release_notesinput (#355 floor) and usedcurl .../mainfor the script.What lands
version-advisory-action/.github/scripts/release-version-advisory.rbrubygems-release.ymlversion_advisoryboolean input (default false).release_notespreserved.test-version-advisory.ymldocs/rubygems-release.mdArchitecture fixes vs #375
curl raw.githubusercontent.com/.../mainrelease_notes(stale base)release_notesintactsend/respond_to?visitorPrism::Visitorsubclasscase/whenbump tableBUMP_TABLElookup hash (OCP)Diff.computeuses.firston reopens.last(active definition):nodoc:, contract fileFixture results (local)
:nodoc:removalTest plan
ruby -csyntax OKtest-version-advisory.ymlon this PRrelease_notesensure-release step still present in the diffwith: { version_advisory: true }